package org.dromara.pe.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.pe.domain.DeviceScoreRaw;
import org.dromara.pe.domain.ScopeSetting;
import org.dromara.pe.domain.bo.StatisticBo;
import org.dromara.pe.domain.vo.DeviceScoreRawVo;
import org.dromara.pe.domain.vo.ScopeSettingVo;
import org.dromara.pe.domain.vo.StatisticForClassVo;
import org.dromara.pe.domain.vo.StatisticVo;

import java.util.List;

/**
 * 【请填写功能名称】Mapper接口
 *
 * @author Lion Li
 * @date 2024-09-25
 */
public interface StatisticMapper extends BaseMapperPlus<StatisticBo, StatisticVo> {
    Page<StatisticVo> selectTopList(@Param("page") Page<StatisticBo> page, @Param(Constants.WRAPPER) Wrapper<StatisticBo> queryWrapper);
    List<StatisticVo> selectTopList(@Param(Constants.WRAPPER) Wrapper<StatisticBo> queryWrapper);
    List<StatisticVo> selectLastSevenDaysData(@Param("statisticBo")StatisticBo statisticsBo);
    List<StatisticVo> selectSexRatio(@Param(Constants.WRAPPER) Wrapper<StatisticBo> queryWrapper);
    List<StatisticForClassVo> selectParticipationRateByStudent(@Param(Constants.WRAPPER) Wrapper<StatisticBo> queryWrapper, @Param("statisticBo")StatisticBo statisticsBo);
    List<StatisticVo> selectParticipationRateByScope(@Param(Constants.WRAPPER) Wrapper<StatisticBo> queryWrapper,@Param("statisticBo")StatisticBo statisticsBo);
    Long selectStudentTotalNum(@Param(Constants.WRAPPER) Wrapper<StatisticBo> queryWrapper);
    Long selectSportTotalNum(@Param(Constants.WRAPPER) Wrapper<StatisticBo> queryWrapper);
}
